home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  40.5 KB  |  1,692 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime Image Compression Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 2.0
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  21. __IMAGECOMPRESSION__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  30.     include 'Quickdraw.a'
  31.     ENDIF
  32. ;        include 'MixedMode.a'                                        ;
  33. ;        include 'QuickdrawText.a'                                    ;
  34.  
  35.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  36.     include 'QDOffscreen.a'
  37.     ENDIF
  38. ;        include 'Errors.a'                                            ;
  39.  
  40.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  41.     include 'Components.a'
  42.     ENDIF
  43.  
  44.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  45.     include 'Windows.a'
  46.     ENDIF
  47. ;        include 'Memory.a'                                            ;
  48. ;        include 'Events.a'                                            ;
  49. ;            include 'OSUtils.a'                                    ;
  50. ;        include 'Controls.a'                                        ;
  51. ;            include 'Menus.a'                                        ;
  52.  
  53.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  54.     include 'StandardFile.a'
  55.     ENDIF
  56. ;        include 'Dialogs.a'                                        ;
  57. ;            include 'TextEdit.a'                                    ;
  58. ;        include 'Files.a'                                            ;
  59. ;            include 'Finder.a'                                        ;
  60. MatrixRecord             RECORD    0
  61. matrix                     ds.l   9        ; offset: $0 (0)
  62. sizeof                     EQU *            ; size:   $24 (36)
  63.                         ENDR
  64.  
  65. ; typedef struct MatrixRecord  MatrixRecord, *MatrixRecordPtr
  66. FixedPoint                 RECORD    0
  67. x                         ds.l   1        ; offset: $0 (0)
  68. y                         ds.l   1        ; offset: $4 (4)
  69. sizeof                     EQU *            ; size:   $8 (8)
  70.                         ENDR
  71.  
  72. ; typedef struct FixedPoint  FixedPoint
  73. FixedRect                 RECORD    0
  74. left                     ds.l   1        ; offset: $0 (0)
  75. top                         ds.l   1        ; offset: $4 (4)
  76. right                     ds.l   1        ; offset: $8 (8)
  77. bottom                     ds.l   1        ; offset: $C (12)
  78. sizeof                     EQU *            ; size:   $10 (16)
  79.                         ENDR
  80.  
  81. ; typedef struct FixedRect     FixedRect
  82. ; These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  83.  
  84. codecInfoDoes1                    EQU        (1 << 0)
  85. codecInfoDoes2                    EQU        (1 << 1)
  86. codecInfoDoes4                    EQU        (1 << 2)
  87. codecInfoDoes8                    EQU        (1 << 3)
  88. codecInfoDoes16                    EQU        (1 << 4)
  89. codecInfoDoes32                    EQU        (1 << 5)
  90. codecInfoDoesDither                EQU        (1 << 6)
  91. codecInfoDoesStretch            EQU        (1 << 7)
  92. codecInfoDoesShrink                EQU        (1 << 8)
  93. codecInfoDoesMask                EQU        (1 << 9)
  94. codecInfoDoesTemporal            EQU        (1 << 10)
  95. codecInfoDoesDouble                EQU        (1 << 11)
  96. codecInfoDoesQuad                EQU        (1 << 12)
  97. codecInfoDoesHalf                EQU        (1 << 13)
  98. codecInfoDoesQuarter            EQU        (1 << 14)
  99. codecInfoDoesRotate                EQU        (1 << 15)
  100. codecInfoDoesHorizFlip            EQU        (1 << 16)
  101. codecInfoDoesVertFlip            EQU        (1 << 17)
  102. codecInfoDoesSkew                EQU        (1 << 18)
  103. codecInfoDoesBlend                EQU        (1 << 19)
  104. codecInfoDoesWarp                EQU        (1 << 20)
  105. codecInfoDoesRecompress            EQU        (1 << 21)
  106. codecInfoDoesSpool                EQU        (1 << 22)
  107. codecInfoDoesRateConstrain        EQU        (1 << 23)
  108.  
  109. codecInfoDepth1                    EQU        (1 << 0)
  110. codecInfoDepth2                    EQU        (1 << 1)
  111. codecInfoDepth4                    EQU        (1 << 2)
  112. codecInfoDepth8                    EQU        (1 << 3)
  113. codecInfoDepth16                EQU        (1 << 4)
  114. codecInfoDepth32                EQU        (1 << 5)
  115. codecInfoDepth24                EQU        (1 << 6)
  116. codecInfoDepth33                EQU        (1 << 7)
  117. codecInfoDepth34                EQU        (1 << 8)
  118. codecInfoDepth36                EQU        (1 << 9)
  119. codecInfoDepth40                EQU        (1 << 10)
  120. codecInfoStoresClut                EQU        (1 << 11)
  121. codecInfoDoesLossless            EQU        (1 << 12)
  122. codecInfoSequenceSensitive        EQU        (1 << 13)
  123.  
  124. codecFlagUseImageBuffer            EQU        (1 << 0)
  125. codecFlagUseScreenBuffer        EQU        (1 << 1)
  126. codecFlagUpdatePrevious            EQU        (1 << 2)
  127. codecFlagNoScreenUpdate            EQU        (1 << 3)
  128. codecFlagWasCompressed            EQU        (1 << 4)
  129. codecFlagDontOffscreen            EQU        (1 << 5)
  130. codecFlagUpdatePreviousComp        EQU        (1 << 6)
  131. codecFlagForceKeyFrame            EQU        (1 << 7)
  132. codecFlagOnlyScreenUpdate        EQU        (1 << 8)
  133. codecFlagLiveGrab                EQU        (1 << 9)
  134. codecFlagDontUseNewImageBuffer    EQU        (1 << 10)
  135. codecFlagInterlaceUpdate        EQU        (1 << 11)
  136. codecFlagCatchUpDiff            EQU        (1 << 12)
  137. codecFlagUsedNewImageBuffer        EQU        (1 << 14)
  138. codecFlagUsedImageBuffer        EQU        (1 << 15)
  139.  
  140. ; The minimum data size for spooling in or out data 
  141. codecMinimumDataSize            EQU        32768
  142.  
  143. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  144. decompressorComponentType        EQU        'imdc'
  145.  
  146. ; typedef Component         CompressorComponent
  147. ; typedef Component         DecompressorComponent
  148. ; typedef Component         CodecComponent
  149.  
  150. anyCodec                        EQU        0                    ; take first working codec of given type 
  151. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  152. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  153. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  154.  
  155. ; typedef long                 CodecType
  156. ; typedef unsigned short     CodecFlags
  157. ; typedef unsigned long     CodecQ
  158.  
  159. codecLosslessQuality            EQU        $400
  160. codecMaxQuality                    EQU        $3ff
  161. codecMinQuality                    EQU        $000
  162. codecLowQuality                    EQU        $100
  163. codecNormalQuality                EQU        $200
  164. codecHighQuality                EQU        $300
  165.  
  166. codecCompletionSource            EQU        (1 << 0)            ; asynchronous codec is done with source data 
  167. codecCompletionDest                EQU        (1 << 1)            ; asynchronous codec is done with destination data 
  168.  
  169. codecProgressOpen                EQU        0
  170. codecProgressUpdatePercent        EQU        1
  171. codecProgressClose                EQU        2
  172.  
  173. ; typedef long                 ImageSequence
  174. ICMProgressProcRecord     RECORD    0
  175. progressProc             ds.l   1        ; offset: $0 (0)
  176. progressRefCon             ds.l   1        ; offset: $4 (4)
  177. sizeof                     EQU *            ; size:   $8 (8)
  178.                         ENDR
  179.  
  180. ; typedef struct ICMProgressProcRecord  ICMProgressProcRecord, *ICMProgressProcRecordPtr
  181. ICMCompletionProcRecord RECORD    0
  182. completionProc             ds.l   1        ; offset: $0 (0)
  183. completionRefCon         ds.l   1        ; offset: $4 (4)
  184. sizeof                     EQU *            ; size:   $8 (8)
  185.                         ENDR
  186.  
  187. ; typedef struct ICMCompletionProcRecord  ICMCompletionProcRecord, *ICMCompletionProcRecordPtr
  188. ICMDataProcRecord         RECORD    0
  189. dataProc                 ds.l   1        ; offset: $0 (0)
  190. dataRefCon                 ds.l   1        ; offset: $4 (4)
  191. sizeof                     EQU *            ; size:   $8 (8)
  192.                         ENDR
  193.  
  194. ; typedef struct ICMDataProcRecord  ICMDataProcRecord, *ICMDataProcRecordPtr
  195. ICMFlushProcRecord         RECORD    0
  196. flushProc                 ds.l   1        ; offset: $0 (0)
  197. flushRefCon                 ds.l   1        ; offset: $4 (4)
  198. sizeof                     EQU *            ; size:   $8 (8)
  199.                         ENDR
  200.  
  201. ; typedef struct ICMFlushProcRecord  ICMFlushProcRecord, *ICMFlushProcRecordPtr
  202. ICMAlignmentProcRecord     RECORD    0
  203. alignmentProc             ds.l   1        ; offset: $0 (0)
  204. alignmentRefCon             ds.l   1        ; offset: $4 (4)
  205. sizeof                     EQU *            ; size:   $8 (8)
  206.                         ENDR
  207.  
  208. ; typedef struct ICMAlignmentProcRecord  ICMAlignmentProcRecord, *ICMAlignmentProcRecordPtr
  209. DataRateParams             RECORD    0
  210. dataRate                 ds.l   1        ; offset: $0 (0)
  211. dataOverrun                 ds.l   1        ; offset: $4 (4)
  212. frameDuration             ds.l   1        ; offset: $8 (8)
  213. keyFrameRate             ds.l   1        ; offset: $C (12)
  214. minSpatialQuality         ds.l   1        ; offset: $10 (16)
  215. minTemporalQuality         ds.l   1        ; offset: $14 (20)
  216. sizeof                     EQU *            ; size:   $18 (24)
  217.                         ENDR
  218.  
  219. ; typedef struct DataRateParams  DataRateParams, *DataRateParamsPtr
  220. ImageDescription         RECORD    0
  221. idSize                     ds.l   1        ; offset: $0 (0)        ; total size of ImageDescription including extra data ( CLUTs and other per sequence data 
  222. cType                     ds.l   1        ; offset: $4 (4)        ; what kind of codec compressed this data 
  223. resvd1                     ds.l   1        ; offset: $8 (8)        ; reserved for Apple use 
  224. resvd2                     ds.w   1        ; offset: $C (12)        ; reserved for Apple use 
  225. dataRefIndex             ds.w   1        ; offset: $E (14)        ; set to zero  
  226. version                     ds.w   1        ; offset: $10 (16)        ; which version is this data 
  227. revisionLevel             ds.w   1        ; offset: $12 (18)        ; what version of that codec did this 
  228. vendor                     ds.l   1        ; offset: $14 (20)        ; whose  codec compressed this data 
  229. temporalQuality             ds.l   1        ; offset: $18 (24)        ; what was the temporal quality factor  
  230. spatialQuality             ds.l   1        ; offset: $1C (28)        ; what was the spatial quality factor 
  231. width                     ds.w   1        ; offset: $20 (32)        ; how many pixels wide is this data 
  232. height                     ds.w   1        ; offset: $22 (34)        ; how many pixels high is this data 
  233. hRes                     ds.l   1        ; offset: $24 (36)        ; horizontal resolution 
  234. vRes                     ds.l   1        ; offset: $28 (40)        ; vertical resolution 
  235. dataSize                 ds.l   1        ; offset: $2C (44)        ; if known, the size of data for this image descriptor 
  236. frameCount                 ds.w   1        ; offset: $30 (48)        ; number of frames this description applies to 
  237. name                     ds.l   8        ; offset: $32 (50)        ; name of codec ( in case not installed )  
  238. depth                     ds.w   1        ; offset: $52 (82)        ; what depth is this data (1-32) or ( 33-40 grayscale ) 
  239. clutID                     ds.w   1        ; offset: $54 (84)        ; clut id or if 0 clut follows  or -1 if no clut 
  240. sizeof                     EQU *            ; size:   $56 (86)
  241.                         ENDR
  242.  
  243. ; typedef struct ImageDescription  ImageDescription, *ImageDescriptionPtr, **ImageDescriptionHandle
  244. CodecInfo                 RECORD    0
  245. typeName                 ds.l   8        ; offset: $0 (0)        ; name of the codec type i.e.: 'Apple Image Compression' 
  246. version                     ds.w   1        ; offset: $20 (32)        ; version of the codec data that this codec knows about 
  247. revisionLevel             ds.w   1        ; offset: $22 (34)        ; revision level of this codec i.e: 0x00010001 (1.0.1) 
  248. vendor                     ds.l   1        ; offset: $24 (36)        ; Maker of this codec i.e: 'appl' 
  249. decompressFlags             ds.l   1        ; offset: $28 (40)        ; codecInfo flags for decompression capabilities 
  250. compressFlags             ds.l   1        ; offset: $2C (44)        ; codecInfo flags for compression capabilities 
  251. formatFlags                 ds.l   1        ; offset: $30 (48)        ; codecInfo flags for compression format details 
  252. compressionAccuracy         ds.b   1        ; offset: $34 (52)        ; measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  253. decompressionAccuracy     ds.b   1        ; offset: $35 (53)        ; measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  254. compressionSpeed         ds.w   1        ; offset: $36 (54)        ; ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  255. decompressionSpeed         ds.w   1        ; offset: $38 (56)        ; ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  256. compressionLevel         ds.b   1        ; offset: $3A (58)        ; measure (1-255) of compression level of this codec (0 if unknown)  
  257. resvd                     ds.b   1        ; offset: $3B (59)        ; pad 
  258. minimumHeight             ds.w   1        ; offset: $3C (60)        ; minimum height of image (block size) 
  259. minimumWidth             ds.w   1        ; offset: $3E (62)        ; minimum width of image (block size) 
  260. decompressPipelineLatency ds.w   1        ; offset: $40 (64)        ; in milliseconds ( for asynchronous codecs ) 
  261. compressPipelineLatency     ds.w   1        ; offset: $42 (66)        ; in milliseconds ( for asynchronous codecs ) 
  262. privateData                 ds.l   1        ; offset: $44 (68)
  263. sizeof                     EQU *            ; size:   $48 (72)
  264.                         ENDR
  265.  
  266. ; typedef struct CodecInfo     CodecInfo
  267. CodecNameSpec             RECORD    0
  268. codec                     ds.l   1        ; offset: $0 (0)
  269. cType                     ds.l   1        ; offset: $4 (4)
  270. typeName                 ds.l   8        ; offset: $8 (8)
  271. name                     ds.l   1        ; offset: $28 (40)
  272. sizeof                     EQU *            ; size:   $2C (44)
  273.                         ENDR
  274.  
  275. ; typedef struct CodecNameSpec  CodecNameSpec
  276. CodecNameSpecList         RECORD    0
  277. count                     ds.w   1        ; offset: $0 (0)
  278. list                     ds     CodecNameSpec ; offset: $2 (2)
  279. sizeof                     EQU *            ; size:   $2E (46)
  280.                         ENDR
  281.  
  282. ; typedef struct CodecNameSpecList  CodecNameSpecList, *CodecNameSpecListPtr
  283.  
  284. defaultDither                    EQU        0
  285. forceDither                        EQU        1
  286. suppressDither                    EQU        2
  287. useColorMatching                EQU        4
  288.  
  289. ICMFrameTimeRecord         RECORD    0
  290. value                     ds     wide    ; offset: $0 (0)        ; frame time
  291. scale                     ds.l   1        ; offset: $8 (8)        ; timescale of value/duration fields
  292. base                     ds.l   1        ; offset: $C (12)        ; timebase
  293. duration                 ds.l   1        ; offset: $10 (16)        ; duration frame is to be displayed (0 if unknown)
  294. rate                     ds.l   1        ; offset: $14 (20)        ; rate of timebase relative to wall-time
  295. sizeof                     EQU *            ; size:   $18 (24)
  296.                         ENDR
  297.  
  298. ; typedef struct ICMFrameTimeRecord  ICMFrameTimeRecord, *ICMFrameTimePtr
  299. ;
  300. ; pascal OSErr CodecManagerVersion(long *version)
  301. ;
  302.     IF ¬ GENERATINGCFM THEN
  303.         Macro
  304.         _CodecManagerVersion
  305.             moveq    #0,d0
  306.             dc.w     $AAA3
  307.         EndM
  308.     ELSE
  309.         IMPORT_CFM_FUNCTION    CodecManagerVersion
  310.     ENDIF
  311.  
  312. ;
  313. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  314. ;
  315.     IF ¬ GENERATINGCFM THEN
  316.         Macro
  317.         _GetCodecNameList
  318.             moveq    #1,d0
  319.             dc.w     $AAA3
  320.         EndM
  321.     ELSE
  322.         IMPORT_CFM_FUNCTION    GetCodecNameList
  323.     ENDIF
  324.  
  325. ;
  326. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  327. ;
  328.     IF ¬ GENERATINGCFM THEN
  329.         Macro
  330.         _DisposeCodecNameList
  331.             moveq    #15,d0
  332.             dc.w     $AAA3
  333.         EndM
  334.     ELSE
  335.         IMPORT_CFM_FUNCTION    DisposeCodecNameList
  336.     ENDIF
  337.  
  338. ;
  339. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  340. ;
  341.     IF ¬ GENERATINGCFM THEN
  342.         Macro
  343.         _GetCodecInfo
  344.             moveq    #3,d0
  345.             dc.w     $AAA3
  346.         EndM
  347.     ELSE
  348.         IMPORT_CFM_FUNCTION    GetCodecInfo
  349.     ENDIF
  350.  
  351. ;
  352. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  353. ;
  354.     IF ¬ GENERATINGCFM THEN
  355.         Macro
  356.         _GetMaxCompressionSize
  357.             moveq    #4,d0
  358.             dc.w     $AAA3
  359.         EndM
  360.     ELSE
  361.         IMPORT_CFM_FUNCTION    GetMaxCompressionSize
  362.     ENDIF
  363.  
  364. ;
  365. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  366. ;
  367.     IF ¬ GENERATINGCFM THEN
  368.         Macro
  369.         _GetCompressionTime
  370.             moveq    #5,d0
  371.             dc.w     $AAA3
  372.         EndM
  373.     ELSE
  374.         IMPORT_CFM_FUNCTION    GetCompressionTime
  375.     ENDIF
  376.  
  377. ;
  378. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  379. ;
  380.     IF ¬ GENERATINGCFM THEN
  381.         Macro
  382.         _CompressImage
  383.             moveq    #6,d0
  384.             dc.w     $AAA3
  385.         EndM
  386.     ELSE
  387.         IMPORT_CFM_FUNCTION    CompressImage
  388.     ENDIF
  389.  
  390. ;
  391. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle clut, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  392. ;
  393.     IF ¬ GENERATINGCFM THEN
  394.         Macro
  395.         _FCompressImage
  396.             moveq    #7,d0
  397.             dc.w     $AAA3
  398.         EndM
  399.     ELSE
  400.         IMPORT_CFM_FUNCTION    FCompressImage
  401.     ENDIF
  402.  
  403. ;
  404. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  405. ;
  406.     IF ¬ GENERATINGCFM THEN
  407.         Macro
  408.         _DecompressImage
  409.             moveq    #8,d0
  410.             dc.w     $AAA3
  411.         EndM
  412.     ELSE
  413.         IMPORT_CFM_FUNCTION    DecompressImage
  414.     ENDIF
  415.  
  416. ;
  417. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  418. ;
  419.     IF ¬ GENERATINGCFM THEN
  420.         Macro
  421.         _FDecompressImage
  422.             moveq    #9,d0
  423.             dc.w     $AAA3
  424.         EndM
  425.     ELSE
  426.         IMPORT_CFM_FUNCTION    FDecompressImage
  427.     ENDIF
  428.  
  429. ;
  430. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle clut, CodecFlags flags, ImageDescriptionHandle desc)
  431. ;
  432.     IF ¬ GENERATINGCFM THEN
  433.         Macro
  434.         _CompressSequenceBegin
  435.             moveq    #10,d0
  436.             dc.w     $AAA3
  437.         EndM
  438.     ELSE
  439.         IMPORT_CFM_FUNCTION    CompressSequenceBegin
  440.     ENDIF
  441.  
  442. ;
  443. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  444. ;
  445.     IF ¬ GENERATINGCFM THEN
  446.         Macro
  447.         _CompressSequenceFrame
  448.             moveq    #11,d0
  449.             dc.w     $AAA3
  450.         EndM
  451.     ELSE
  452.         IMPORT_CFM_FUNCTION    CompressSequenceFrame
  453.     ENDIF
  454.  
  455. ;
  456. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  457. ;
  458.     IF ¬ GENERATINGCFM THEN
  459.         Macro
  460.         _DecompressSequenceBegin
  461.             moveq    #13,d0
  462.             dc.w     $AAA3
  463.         EndM
  464.     ELSE
  465.         IMPORT_CFM_FUNCTION    DecompressSequenceBegin
  466.     ENDIF
  467.  
  468. ;
  469. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  470. ;
  471.     IF ¬ GENERATINGCFM THEN
  472.         Macro
  473.         _DecompressSequenceBeginS
  474.             dc.w     $203C
  475.             dc.w     $0030
  476.             dc.w     $005D
  477.             dc.w     $AAA3
  478.         EndM
  479.     ELSE
  480.         IMPORT_CFM_FUNCTION    DecompressSequenceBeginS
  481.     ENDIF
  482.  
  483. ;
  484. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  485. ;
  486.     IF ¬ GENERATINGCFM THEN
  487.         Macro
  488.         _DecompressSequenceFrame
  489.             moveq    #14,d0
  490.             dc.w     $AAA3
  491.         EndM
  492.     ELSE
  493.         IMPORT_CFM_FUNCTION    DecompressSequenceFrame
  494.     ENDIF
  495.  
  496. ;
  497. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  498. ;
  499.     IF ¬ GENERATINGCFM THEN
  500.         Macro
  501.         _DecompressSequenceFrameS
  502.             dc.w     $203C
  503.             dc.w     $0016
  504.             dc.w     $0047
  505.             dc.w     $AAA3
  506.         EndM
  507.     ELSE
  508.         IMPORT_CFM_FUNCTION    DecompressSequenceFrameS
  509.     ENDIF
  510.  
  511. ;
  512. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  513. ;
  514.     IF ¬ GENERATINGCFM THEN
  515.         Macro
  516.         _DecompressSequenceFrameWhen
  517.             dc.w     $203C
  518.             dc.w     $001A
  519.             dc.w     $005E
  520.             dc.w     $AAA3
  521.         EndM
  522.     ELSE
  523.         IMPORT_CFM_FUNCTION    DecompressSequenceFrameWhen
  524.     ENDIF
  525.  
  526. ;
  527. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  528. ;
  529.     IF ¬ GENERATINGCFM THEN
  530.         Macro
  531.         _CDSequenceFlush
  532.             dc.w     $203C
  533.             dc.w     $0004
  534.             dc.w     $005F
  535.             dc.w     $AAA3
  536.         EndM
  537.     ELSE
  538.         IMPORT_CFM_FUNCTION    CDSequenceFlush
  539.     ENDIF
  540.  
  541. ;
  542. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  543. ;
  544.     IF ¬ GENERATINGCFM THEN
  545.         Macro
  546.         _SetDSequenceMatrix
  547.             moveq    #16,d0
  548.             dc.w     $AAA3
  549.         EndM
  550.     ELSE
  551.         IMPORT_CFM_FUNCTION    SetDSequenceMatrix
  552.     ENDIF
  553.  
  554. ;
  555. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  556. ;
  557.     IF ¬ GENERATINGCFM THEN
  558.         Macro
  559.         _SetDSequenceMatte
  560.             moveq    #17,d0
  561.             dc.w     $AAA3
  562.         EndM
  563.     ELSE
  564.         IMPORT_CFM_FUNCTION    SetDSequenceMatte
  565.     ENDIF
  566.  
  567. ;
  568. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  569. ;
  570.     IF ¬ GENERATINGCFM THEN
  571.         Macro
  572.         _SetDSequenceMask
  573.             moveq    #18,d0
  574.             dc.w     $AAA3
  575.         EndM
  576.     ELSE
  577.         IMPORT_CFM_FUNCTION    SetDSequenceMask
  578.     ENDIF
  579.  
  580. ;
  581. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  582. ;
  583.     IF ¬ GENERATINGCFM THEN
  584.         Macro
  585.         _SetDSequenceTransferMode
  586.             moveq    #19,d0
  587.             dc.w     $AAA3
  588.         EndM
  589.     ELSE
  590.         IMPORT_CFM_FUNCTION    SetDSequenceTransferMode
  591.     ENDIF
  592.  
  593. ;
  594. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  595. ;
  596.     IF ¬ GENERATINGCFM THEN
  597.         Macro
  598.         _SetDSequenceDataProc
  599.             moveq    #20,d0
  600.             dc.w     $AAA3
  601.         EndM
  602.     ELSE
  603.         IMPORT_CFM_FUNCTION    SetDSequenceDataProc
  604.     ENDIF
  605.  
  606. ;
  607. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  608. ;
  609.     IF ¬ GENERATINGCFM THEN
  610.         Macro
  611.         _SetDSequenceAccuracy
  612.             moveq    #52,d0
  613.             dc.w     $AAA3
  614.         EndM
  615.     ELSE
  616.         IMPORT_CFM_FUNCTION    SetDSequenceAccuracy
  617.     ENDIF
  618.  
  619. ;
  620. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  621. ;
  622.     IF ¬ GENERATINGCFM THEN
  623.         Macro
  624.         _SetDSequenceSrcRect
  625.             moveq    #53,d0
  626.             dc.w     $AAA3
  627.         EndM
  628.     ELSE
  629.         IMPORT_CFM_FUNCTION    SetDSequenceSrcRect
  630.     ENDIF
  631.  
  632. ;
  633. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  634. ;
  635.     IF ¬ GENERATINGCFM THEN
  636.         Macro
  637.         _GetDSequenceImageBuffer
  638.             moveq    #21,d0
  639.             dc.w     $AAA3
  640.         EndM
  641.     ELSE
  642.         IMPORT_CFM_FUNCTION    GetDSequenceImageBuffer
  643.     ENDIF
  644.  
  645. ;
  646. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  647. ;
  648.     IF ¬ GENERATINGCFM THEN
  649.         Macro
  650.         _GetDSequenceScreenBuffer
  651.             moveq    #22,d0
  652.             dc.w     $AAA3
  653.         EndM
  654.     ELSE
  655.         IMPORT_CFM_FUNCTION    GetDSequenceScreenBuffer
  656.     ENDIF
  657.  
  658. ;
  659. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  660. ;
  661.     IF ¬ GENERATINGCFM THEN
  662.         Macro
  663.         _SetCSequenceQuality
  664.             moveq    #23,d0
  665.             dc.w     $AAA3
  666.         EndM
  667.     ELSE
  668.         IMPORT_CFM_FUNCTION    SetCSequenceQuality
  669.     ENDIF
  670.  
  671. ;
  672. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  673. ;
  674.     IF ¬ GENERATINGCFM THEN
  675.         Macro
  676.         _SetCSequencePrev
  677.             moveq    #24,d0
  678.             dc.w     $AAA3
  679.         EndM
  680.     ELSE
  681.         IMPORT_CFM_FUNCTION    SetCSequencePrev
  682.     ENDIF
  683.  
  684. ;
  685. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  686. ;
  687.     IF ¬ GENERATINGCFM THEN
  688.         Macro
  689.         _SetCSequenceFlushProc
  690.             moveq    #51,d0
  691.             dc.w     $AAA3
  692.         EndM
  693.     ELSE
  694.         IMPORT_CFM_FUNCTION    SetCSequenceFlushProc
  695.     ENDIF
  696.  
  697. ;
  698. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyframerate)
  699. ;
  700.     IF ¬ GENERATINGCFM THEN
  701.         Macro
  702.         _SetCSequenceKeyFrameRate
  703.             moveq    #54,d0
  704.             dc.w     $AAA3
  705.         EndM
  706.     ELSE
  707.         IMPORT_CFM_FUNCTION    SetCSequenceKeyFrameRate
  708.     ENDIF
  709.  
  710. ;
  711. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyframerate)
  712. ;
  713.     IF ¬ GENERATINGCFM THEN
  714.         Macro
  715.         _GetCSequenceKeyFrameRate
  716.             dc.w     $203C
  717.             dc.w     $0008
  718.             dc.w     $004B
  719.             dc.w     $AAA3
  720.         EndM
  721.     ELSE
  722.         IMPORT_CFM_FUNCTION    GetCSequenceKeyFrameRate
  723.     ENDIF
  724.  
  725. ;
  726. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  727. ;
  728.     IF ¬ GENERATINGCFM THEN
  729.         Macro
  730.         _GetCSequencePrevBuffer
  731.             moveq    #25,d0
  732.             dc.w     $AAA3
  733.         EndM
  734.     ELSE
  735.         IMPORT_CFM_FUNCTION    GetCSequencePrevBuffer
  736.     ENDIF
  737.  
  738. ;
  739. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  740. ;
  741.     IF ¬ GENERATINGCFM THEN
  742.         Macro
  743.         _CDSequenceBusy
  744.             moveq    #26,d0
  745.             dc.w     $AAA3
  746.         EndM
  747.     ELSE
  748.         IMPORT_CFM_FUNCTION    CDSequenceBusy
  749.     ENDIF
  750.  
  751. ;
  752. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  753. ;
  754.     IF ¬ GENERATINGCFM THEN
  755.         Macro
  756.         _CDSequenceEnd
  757.             moveq    #27,d0
  758.             dc.w     $AAA3
  759.         EndM
  760.     ELSE
  761.         IMPORT_CFM_FUNCTION    CDSequenceEnd
  762.     ENDIF
  763.  
  764. ;
  765. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  766. ;
  767.     IF ¬ GENERATINGCFM THEN
  768.         Macro
  769.         _GetCompressedImageSize
  770.             moveq    #28,d0
  771.             dc.w     $AAA3
  772.         EndM
  773.     ELSE
  774.         IMPORT_CFM_FUNCTION    GetCompressedImageSize
  775.     ENDIF
  776.  
  777. ;
  778. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  779. ;
  780.     IF ¬ GENERATINGCFM THEN
  781.         Macro
  782.         _GetSimilarity
  783.             moveq    #29,d0
  784.             dc.w     $AAA3
  785.         EndM
  786.     ELSE
  787.         IMPORT_CFM_FUNCTION    GetSimilarity
  788.     ENDIF
  789.  
  790. ;
  791. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  792. ;
  793.     IF ¬ GENERATINGCFM THEN
  794.         Macro
  795.         _GetImageDescriptionCTable
  796.             moveq    #30,d0
  797.             dc.w     $AAA3
  798.         EndM
  799.     ELSE
  800.         IMPORT_CFM_FUNCTION    GetImageDescriptionCTable
  801.     ENDIF
  802.  
  803. ;
  804. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  805. ;
  806.     IF ¬ GENERATINGCFM THEN
  807.         Macro
  808.         _SetImageDescriptionCTable
  809.             moveq    #31,d0
  810.             dc.w     $AAA3
  811.         EndM
  812.     ELSE
  813.         IMPORT_CFM_FUNCTION    SetImageDescriptionCTable
  814.     ENDIF
  815.  
  816. ;
  817. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  818. ;
  819.     IF ¬ GENERATINGCFM THEN
  820.         Macro
  821.         _GetImageDescriptionExtension
  822.             moveq    #32,d0
  823.             dc.w     $AAA3
  824.         EndM
  825.     ELSE
  826.         IMPORT_CFM_FUNCTION    GetImageDescriptionExtension
  827.     ENDIF
  828.  
  829. ;
  830. ; pascal OSErr SetImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  831. ;
  832.     IF ¬ GENERATINGCFM THEN
  833.         Macro
  834.         _SetImageDescriptionExtension
  835.             moveq    #33,d0
  836.             dc.w     $AAA3
  837.         EndM
  838.     ELSE
  839.         IMPORT_CFM_FUNCTION    SetImageDescriptionExtension
  840.     ENDIF
  841.  
  842. ;
  843. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescription **desc, long idType, long index)
  844. ;
  845.     IF ¬ GENERATINGCFM THEN
  846.         Macro
  847.         _RemoveImageDescriptionExtension
  848.             dc.w     $203C
  849.             dc.w     $000C
  850.             dc.w     $003A
  851.             dc.w     $AAA3
  852.         EndM
  853.     ELSE
  854.         IMPORT_CFM_FUNCTION    RemoveImageDescriptionExtension
  855.     ENDIF
  856.  
  857. ;
  858. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescription **desc, long idType, long *count)
  859. ;
  860.     IF ¬ GENERATINGCFM THEN
  861.         Macro
  862.         _CountImageDescriptionExtensionType
  863.             dc.w     $203C
  864.             dc.w     $000C
  865.             dc.w     $003B
  866.             dc.w     $AAA3
  867.         EndM
  868.     ELSE
  869.         IMPORT_CFM_FUNCTION    CountImageDescriptionExtensionType
  870.     ENDIF
  871.  
  872. ;
  873. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescription **desc, long *idType)
  874. ;
  875.     IF ¬ GENERATINGCFM THEN
  876.         Macro
  877.         _GetNextImageDescriptionExtensionType
  878.             dc.w     $203C
  879.             dc.w     $0008
  880.             dc.w     $003C
  881.             dc.w     $AAA3
  882.         EndM
  883.     ELSE
  884.         IMPORT_CFM_FUNCTION    GetNextImageDescriptionExtensionType
  885.     ENDIF
  886.  
  887. ;
  888. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  889. ;
  890.     IF ¬ GENERATINGCFM THEN
  891.         Macro
  892.         _FindCodec
  893.             moveq    #35,d0
  894.             dc.w     $AAA3
  895.         EndM
  896.     ELSE
  897.         IMPORT_CFM_FUNCTION    FindCodec
  898.     ENDIF
  899.  
  900. ;
  901. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  902. ;
  903.     IF ¬ GENERATINGCFM THEN
  904.         Macro
  905.         _CompressPicture
  906.             moveq    #36,d0
  907.             dc.w     $AAA3
  908.         EndM
  909.     ELSE
  910.         IMPORT_CFM_FUNCTION    CompressPicture
  911.     ENDIF
  912.  
  913. ;
  914. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle clut, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  915. ;
  916.     IF ¬ GENERATINGCFM THEN
  917.         Macro
  918.         _FCompressPicture
  919.             moveq    #37,d0
  920.             dc.w     $AAA3
  921.         EndM
  922.     ELSE
  923.         IMPORT_CFM_FUNCTION    FCompressPicture
  924.     ENDIF
  925.  
  926. ;
  927. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  928. ;
  929.     IF ¬ GENERATINGCFM THEN
  930.         Macro
  931.         _CompressPictureFile
  932.             moveq    #38,d0
  933.             dc.w     $AAA3
  934.         EndM
  935.     ELSE
  936.         IMPORT_CFM_FUNCTION    CompressPictureFile
  937.     ENDIF
  938.  
  939. ;
  940. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle clut, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  941. ;
  942.     IF ¬ GENERATINGCFM THEN
  943.         Macro
  944.         _FCompressPictureFile
  945.             moveq    #39,d0
  946.             dc.w     $AAA3
  947.         EndM
  948.     ELSE
  949.         IMPORT_CFM_FUNCTION    FCompressPictureFile
  950.     ENDIF
  951.  
  952. ;
  953. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  954. ;
  955.     IF ¬ GENERATINGCFM THEN
  956.         Macro
  957.         _GetPictureFileHeader
  958.             moveq    #40,d0
  959.             dc.w     $AAA3
  960.         EndM
  961.     ELSE
  962.         IMPORT_CFM_FUNCTION    GetPictureFileHeader
  963.     ENDIF
  964.  
  965. ;
  966. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  967. ;
  968.     IF ¬ GENERATINGCFM THEN
  969.         Macro
  970.         _DrawPictureFile
  971.             moveq    #41,d0
  972.             dc.w     $AAA3
  973.         EndM
  974.     ELSE
  975.         IMPORT_CFM_FUNCTION    DrawPictureFile
  976.     ENDIF
  977.  
  978. ;
  979. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  980. ;
  981.     IF ¬ GENERATINGCFM THEN
  982.         Macro
  983.         _DrawTrimmedPicture
  984.             moveq    #46,d0
  985.             dc.w     $AAA3
  986.         EndM
  987.     ELSE
  988.         IMPORT_CFM_FUNCTION    DrawTrimmedPicture
  989.     ENDIF
  990.  
  991. ;
  992. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  993. ;
  994.     IF ¬ GENERATINGCFM THEN
  995.         Macro
  996.         _DrawTrimmedPictureFile
  997.             moveq    #47,d0
  998.             dc.w     $AAA3
  999.         EndM
  1000.     ELSE
  1001.         IMPORT_CFM_FUNCTION    DrawTrimmedPictureFile
  1002.     ENDIF
  1003.  
  1004. ;
  1005. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1006. ;
  1007.     IF ¬ GENERATINGCFM THEN
  1008.         Macro
  1009.         _MakeThumbnailFromPicture
  1010.             moveq    #42,d0
  1011.             dc.w     $AAA3
  1012.         EndM
  1013.     ELSE
  1014.         IMPORT_CFM_FUNCTION    MakeThumbnailFromPicture
  1015.     ENDIF
  1016.  
  1017. ;
  1018. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1019. ;
  1020.     IF ¬ GENERATINGCFM THEN
  1021.         Macro
  1022.         _MakeThumbnailFromPictureFile
  1023.             moveq    #43,d0
  1024.             dc.w     $AAA3
  1025.         EndM
  1026.     ELSE
  1027.         IMPORT_CFM_FUNCTION    MakeThumbnailFromPictureFile
  1028.     ENDIF
  1029.  
  1030. ;
  1031. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1032. ;
  1033.     IF ¬ GENERATINGCFM THEN
  1034.         Macro
  1035.         _MakeThumbnailFromPixMap
  1036.             moveq    #44,d0
  1037.             dc.w     $AAA3
  1038.         EndM
  1039.     ELSE
  1040.         IMPORT_CFM_FUNCTION    MakeThumbnailFromPixMap
  1041.     ENDIF
  1042.  
  1043. ;
  1044. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1045. ;
  1046.     IF ¬ GENERATINGCFM THEN
  1047.         Macro
  1048.         _TrimImage
  1049.             moveq    #45,d0
  1050.             dc.w     $AAA3
  1051.         EndM
  1052.     ELSE
  1053.         IMPORT_CFM_FUNCTION    TrimImage
  1054.     ENDIF
  1055.  
  1056. ;
  1057. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle clut, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1058. ;
  1059.     IF ¬ GENERATINGCFM THEN
  1060.         Macro
  1061.         _ConvertImage
  1062.             moveq    #48,d0
  1063.             dc.w     $AAA3
  1064.         EndM
  1065.     ELSE
  1066.         IMPORT_CFM_FUNCTION    ConvertImage
  1067.     ENDIF
  1068.  
  1069. ;
  1070. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1071. ;
  1072.     IF ¬ GENERATINGCFM THEN
  1073.         Macro
  1074.         _GetCompressedPixMapInfo
  1075.             moveq    #55,d0
  1076.             dc.w     $AAA3
  1077.         EndM
  1078.     ELSE
  1079.         IMPORT_CFM_FUNCTION    GetCompressedPixMapInfo
  1080.     ENDIF
  1081.  
  1082. ;
  1083. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1084. ;
  1085.     IF ¬ GENERATINGCFM THEN
  1086.         Macro
  1087.         _SetCompressedPixMapInfo
  1088.             moveq    #56,d0
  1089.             dc.w     $AAA3
  1090.         EndM
  1091.     ELSE
  1092.         IMPORT_CFM_FUNCTION    SetCompressedPixMapInfo
  1093.     ENDIF
  1094.  
  1095. ;
  1096. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1097. ;
  1098.     IF ¬ GENERATINGCFM THEN
  1099.         Macro
  1100.         _StdPix
  1101.             moveq    #12,d0
  1102.             dc.w     $AAA3
  1103.         EndM
  1104.     ELSE
  1105.         IMPORT_CFM_FUNCTION    StdPix
  1106.     ENDIF
  1107.  
  1108. ;
  1109. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1110. ;
  1111.     IF ¬ GENERATINGCFM THEN
  1112.         Macro
  1113.         _TransformRgn
  1114.             moveq    #57,d0
  1115.             dc.w     $AAA3
  1116.         EndM
  1117.     ELSE
  1118.         IMPORT_CFM_FUNCTION    TransformRgn
  1119.     ENDIF
  1120.  
  1121. ;**********
  1122. ;    preview stuff
  1123. ;**********
  1124. ;
  1125. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1126. ;
  1127.     IF ¬ GENERATINGCFM THEN
  1128.         Macro
  1129.         _SFGetFilePreview
  1130.             moveq    #65,d0
  1131.             dc.w     $AAA3
  1132.         EndM
  1133.     ELSE
  1134.         IMPORT_CFM_FUNCTION    SFGetFilePreview
  1135.     ENDIF
  1136.  
  1137. ;
  1138. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1139. ;
  1140.     IF ¬ GENERATINGCFM THEN
  1141.         Macro
  1142.         _SFPGetFilePreview
  1143.             moveq    #66,d0
  1144.             dc.w     $AAA3
  1145.         EndM
  1146.     ELSE
  1147.         IMPORT_CFM_FUNCTION    SFPGetFilePreview
  1148.     ENDIF
  1149.  
  1150. ;
  1151. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1152. ;
  1153.     IF ¬ GENERATINGCFM THEN
  1154.         Macro
  1155.         _StandardGetFilePreview
  1156.             moveq    #67,d0
  1157.             dc.w     $AAA3
  1158.         EndM
  1159.     ELSE
  1160.         IMPORT_CFM_FUNCTION    StandardGetFilePreview
  1161.     ENDIF
  1162.  
  1163. ;
  1164. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1165. ;
  1166.     IF ¬ GENERATINGCFM THEN
  1167.         Macro
  1168.         _CustomGetFilePreview
  1169.             moveq    #68,d0
  1170.             dc.w     $AAA3
  1171.         EndM
  1172.     ELSE
  1173.         IMPORT_CFM_FUNCTION    CustomGetFilePreview
  1174.     ENDIF
  1175.  
  1176. ;
  1177. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1178. ;
  1179.     IF ¬ GENERATINGCFM THEN
  1180.         Macro
  1181.         _MakeFilePreview
  1182.             moveq    #69,d0
  1183.             dc.w     $AAA3
  1184.         EndM
  1185.     ELSE
  1186.         IMPORT_CFM_FUNCTION    MakeFilePreview
  1187.     ENDIF
  1188.  
  1189. ;
  1190. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1191. ;
  1192.     IF ¬ GENERATINGCFM THEN
  1193.         Macro
  1194.         _AddFilePreview
  1195.             moveq    #70,d0
  1196.             dc.w     $AAA3
  1197.         EndM
  1198.     ELSE
  1199.         IMPORT_CFM_FUNCTION    AddFilePreview
  1200.     ENDIF
  1201.  
  1202.  
  1203. sfpItemPreviewAreaUser            EQU        11
  1204. sfpItemPreviewStaticText        EQU        12
  1205. sfpItemPreviewDividerUser        EQU        13
  1206. sfpItemCreatePreviewButton        EQU        14
  1207. sfpItemShowPreviewButton        EQU        15
  1208.  
  1209. PreviewResourceRecord     RECORD    0
  1210. modDate                     ds.l   1        ; offset: $0 (0)
  1211. version                     ds.w   1        ; offset: $4 (4)
  1212. resType                     ds.l   1        ; offset: $6 (6)
  1213. resID                     ds.w   1        ; offset: $A (10)
  1214. sizeof                     EQU *            ; size:   $C (12)
  1215.                         ENDR
  1216.  
  1217. ; typedef struct PreviewResourceRecord  PreviewResourceRecord, *PreviewResourcePtr, **PreviewResource
  1218. ;
  1219. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1220. ;
  1221.     IF ¬ GENERATINGCFM THEN
  1222.         Macro
  1223.         _AlignScreenRect
  1224.             dc.w     $203C
  1225.             dc.w     $0008
  1226.             dc.w     $004C
  1227.             dc.w     $AAA3
  1228.         EndM
  1229.     ELSE
  1230.         IMPORT_CFM_FUNCTION    AlignScreenRect
  1231.     ENDIF
  1232.  
  1233. ;
  1234. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1235. ;
  1236.     IF ¬ GENERATINGCFM THEN
  1237.         Macro
  1238.         _AlignWindow
  1239.             dc.w     $203C
  1240.             dc.w     $000E
  1241.             dc.w     $004D
  1242.             dc.w     $AAA3
  1243.         EndM
  1244.     ELSE
  1245.         IMPORT_CFM_FUNCTION    AlignWindow
  1246.     ENDIF
  1247.  
  1248. ;
  1249. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1250. ;
  1251.     IF ¬ GENERATINGCFM THEN
  1252.         Macro
  1253.         _DragAlignedWindow
  1254.             dc.w     $203C
  1255.             dc.w     $0014
  1256.             dc.w     $004E
  1257.             dc.w     $AAA3
  1258.         EndM
  1259.     ELSE
  1260.         IMPORT_CFM_FUNCTION    DragAlignedWindow
  1261.     ENDIF
  1262.  
  1263. ;
  1264. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1265. ;
  1266.     IF ¬ GENERATINGCFM THEN
  1267.         Macro
  1268.         _DragAlignedGrayRgn
  1269.             dc.w     $203C
  1270.             dc.w     $001E
  1271.             dc.w     $004F
  1272.             dc.w     $AAA3
  1273.         EndM
  1274.     ELSE
  1275.         IMPORT_CFM_FUNCTION    DragAlignedGrayRgn
  1276.     ENDIF
  1277.  
  1278. ;
  1279. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1280. ;
  1281.     IF ¬ GENERATINGCFM THEN
  1282.         Macro
  1283.         _SetCSequenceDataRateParams
  1284.             dc.w     $203C
  1285.             dc.w     $0008
  1286.             dc.w     $0050
  1287.             dc.w     $AAA3
  1288.         EndM
  1289.     ELSE
  1290.         IMPORT_CFM_FUNCTION    SetCSequenceDataRateParams
  1291.     ENDIF
  1292.  
  1293. ;
  1294. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1295. ;
  1296.     IF ¬ GENERATINGCFM THEN
  1297.         Macro
  1298.         _SetCSequenceFrameNumber
  1299.             dc.w     $203C
  1300.             dc.w     $0008
  1301.             dc.w     $0051
  1302.             dc.w     $AAA3
  1303.         EndM
  1304.     ELSE
  1305.         IMPORT_CFM_FUNCTION    SetCSequenceFrameNumber
  1306.     ENDIF
  1307.  
  1308. ;
  1309. ; pascal QDErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1310. ;
  1311.     IF ¬ GENERATINGCFM THEN
  1312.         Macro
  1313.         _NewImageGWorld
  1314.             dc.w     $203C
  1315.             dc.w     $000C
  1316.             dc.w     $0052
  1317.             dc.w     $AAA3
  1318.         EndM
  1319.     ELSE
  1320.         IMPORT_CFM_FUNCTION    NewImageGWorld
  1321.     ENDIF
  1322.  
  1323. ;
  1324. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1325. ;
  1326.     IF ¬ GENERATINGCFM THEN
  1327.         Macro
  1328.         _GetCSequenceDataRateParams
  1329.             dc.w     $203C
  1330.             dc.w     $0008
  1331.             dc.w     $0053
  1332.             dc.w     $AAA3
  1333.         EndM
  1334.     ELSE
  1335.         IMPORT_CFM_FUNCTION    GetCSequenceDataRateParams
  1336.     ENDIF
  1337.  
  1338. ;
  1339. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1340. ;
  1341.     IF ¬ GENERATINGCFM THEN
  1342.         Macro
  1343.         _GetCSequenceFrameNumber
  1344.             dc.w     $203C
  1345.             dc.w     $0008
  1346.             dc.w     $0054
  1347.             dc.w     $AAA3
  1348.         EndM
  1349.     ELSE
  1350.         IMPORT_CFM_FUNCTION    GetCSequenceFrameNumber
  1351.     ENDIF
  1352.  
  1353. ;
  1354. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1355. ;
  1356.     IF ¬ GENERATINGCFM THEN
  1357.         Macro
  1358.         _GetBestDeviceRect
  1359.             dc.w     $203C
  1360.             dc.w     $0008
  1361.             dc.w     $0055
  1362.             dc.w     $AAA3
  1363.         EndM
  1364.     ELSE
  1365.         IMPORT_CFM_FUNCTION    GetBestDeviceRect
  1366.     ENDIF
  1367.  
  1368. ;
  1369. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1370. ;
  1371.     IF ¬ GENERATINGCFM THEN
  1372.         Macro
  1373.         _SetSequenceProgressProc
  1374.             dc.w     $203C
  1375.             dc.w     $0008
  1376.             dc.w     $0056
  1377.             dc.w     $AAA3
  1378.         EndM
  1379.     ELSE
  1380.         IMPORT_CFM_FUNCTION    SetSequenceProgressProc
  1381.     ENDIF
  1382.  
  1383. ;
  1384. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1385. ;
  1386.     IF ¬ GENERATINGCFM THEN
  1387.         Macro
  1388.         _GDHasScale
  1389.             dc.w     $203C
  1390.             dc.w     $000A
  1391.             dc.w     $005A
  1392.             dc.w     $AAA3
  1393.         EndM
  1394.     ELSE
  1395.         IMPORT_CFM_FUNCTION    GDHasScale
  1396.     ENDIF
  1397.  
  1398. ;
  1399. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1400. ;
  1401.     IF ¬ GENERATINGCFM THEN
  1402.         Macro
  1403.         _GDGetScale
  1404.             dc.w     $203C
  1405.             dc.w     $000C
  1406.             dc.w     $005B
  1407.             dc.w     $AAA3
  1408.         EndM
  1409.     ELSE
  1410.         IMPORT_CFM_FUNCTION    GDGetScale
  1411.     ENDIF
  1412.  
  1413. ;
  1414. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1415. ;
  1416.     IF ¬ GENERATINGCFM THEN
  1417.         Macro
  1418.         _GDSetScale
  1419.             dc.w     $203C
  1420.             dc.w     $000A
  1421.             dc.w     $005C
  1422.             dc.w     $AAA3
  1423.         EndM
  1424.     ELSE
  1425.         IMPORT_CFM_FUNCTION    GDSetScale
  1426.     ENDIF
  1427.  
  1428. ;
  1429. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1430. ;
  1431.     IF ¬ GENERATINGCFM THEN
  1432.         Macro
  1433.         _ICMShieldSequenceCursor
  1434.             dc.w     $203C
  1435.             dc.w     $0004
  1436.             dc.w     $0062
  1437.             dc.w     $AAA3
  1438.         EndM
  1439.     ELSE
  1440.         IMPORT_CFM_FUNCTION    ICMShieldSequenceCursor
  1441.     ENDIF
  1442.  
  1443. ;
  1444. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1445. ;
  1446.     IF ¬ GENERATINGCFM THEN
  1447.         Macro
  1448.         _ICMDecompressComplete
  1449.             dc.w     $203C
  1450.             dc.w     $000C
  1451.             dc.w     $0063
  1452.             dc.w     $AAA3
  1453.         EndM
  1454.     ELSE
  1455.         IMPORT_CFM_FUNCTION    ICMDecompressComplete
  1456.     ENDIF
  1457.  
  1458. ;
  1459. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1460. ;
  1461.     IF ¬ GENERATINGCFM THEN
  1462.         Macro
  1463.         _SetDSequenceTimeCode
  1464.             dc.w     $203C
  1465.             dc.w     $000C
  1466.             dc.w     $0064
  1467.             dc.w     $AAA3
  1468.         EndM
  1469.     ELSE
  1470.         IMPORT_CFM_FUNCTION    SetDSequenceTimeCode
  1471.     ENDIF
  1472.  
  1473.  
  1474. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  1475. translateMatrixType                EQU        $01                    ; result if matrix translates 
  1476. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  1477. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  1478. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  1479. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  1480. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  1481.  
  1482. ; typedef unsigned short     MatrixFlags
  1483. ;
  1484. ; pascal short GetMatrixType(const MatrixRecord *m)
  1485. ;
  1486.     IF ¬ GENERATINGCFM THEN
  1487.         Macro
  1488.         _GetMatrixType
  1489.             moveq    #20,d0
  1490.             dc.w     $ABC2
  1491.         EndM
  1492.     ELSE
  1493.         IMPORT_CFM_FUNCTION    GetMatrixType
  1494.     ENDIF
  1495.  
  1496. ;
  1497. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  1498. ;
  1499.     IF ¬ GENERATINGCFM THEN
  1500.         Macro
  1501.         _CopyMatrix
  1502.             moveq    #32,d0
  1503.             dc.w     $ABC2
  1504.         EndM
  1505.     ELSE
  1506.         IMPORT_CFM_FUNCTION    CopyMatrix
  1507.     ENDIF
  1508.  
  1509. ;
  1510. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  1511. ;
  1512.     IF ¬ GENERATINGCFM THEN
  1513.         Macro
  1514.         _EqualMatrix
  1515.             moveq    #33,d0
  1516.             dc.w     $ABC2
  1517.         EndM
  1518.     ELSE
  1519.         IMPORT_CFM_FUNCTION    EqualMatrix
  1520.     ENDIF
  1521.  
  1522. ;
  1523. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  1524. ;
  1525.     IF ¬ GENERATINGCFM THEN
  1526.         Macro
  1527.         _SetIdentityMatrix
  1528.             moveq    #21,d0
  1529.             dc.w     $ABC2
  1530.         EndM
  1531.     ELSE
  1532.         IMPORT_CFM_FUNCTION    SetIdentityMatrix
  1533.     ENDIF
  1534.  
  1535. ;
  1536. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  1537. ;
  1538.     IF ¬ GENERATINGCFM THEN
  1539.         Macro
  1540.         _TranslateMatrix
  1541.             moveq    #25,d0
  1542.             dc.w     $ABC2
  1543.         EndM
  1544.     ELSE
  1545.         IMPORT_CFM_FUNCTION    TranslateMatrix
  1546.     ENDIF
  1547.  
  1548. ;
  1549. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  1550. ;
  1551.     IF ¬ GENERATINGCFM THEN
  1552.         Macro
  1553.         _RotateMatrix
  1554.             moveq    #22,d0
  1555.             dc.w     $ABC2
  1556.         EndM
  1557.     ELSE
  1558.         IMPORT_CFM_FUNCTION    RotateMatrix
  1559.     ENDIF
  1560.  
  1561. ;
  1562. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  1563. ;
  1564.     IF ¬ GENERATINGCFM THEN
  1565.         Macro
  1566.         _ScaleMatrix
  1567.             moveq    #23,d0
  1568.             dc.w     $ABC2
  1569.         EndM
  1570.     ELSE
  1571.         IMPORT_CFM_FUNCTION    ScaleMatrix
  1572.     ENDIF
  1573.  
  1574. ;
  1575. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  1576. ;
  1577.     IF ¬ GENERATINGCFM THEN
  1578.         Macro
  1579.         _SkewMatrix
  1580.             moveq    #24,d0
  1581.             dc.w     $ABC2
  1582.         EndM
  1583.     ELSE
  1584.         IMPORT_CFM_FUNCTION    SkewMatrix
  1585.     ENDIF
  1586.  
  1587. ;
  1588. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  1589. ;
  1590.     IF ¬ GENERATINGCFM THEN
  1591.         Macro
  1592.         _TransformFixedPoints
  1593.             moveq    #34,d0
  1594.             dc.w     $ABC2
  1595.         EndM
  1596.     ELSE
  1597.         IMPORT_CFM_FUNCTION    TransformFixedPoints
  1598.     ENDIF
  1599.  
  1600. ;
  1601. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  1602. ;
  1603.     IF ¬ GENERATINGCFM THEN
  1604.         Macro
  1605.         _TransformPoints
  1606.             moveq    #35,d0
  1607.             dc.w     $ABC2
  1608.         EndM
  1609.     ELSE
  1610.         IMPORT_CFM_FUNCTION    TransformPoints
  1611.     ENDIF
  1612.  
  1613. ;
  1614. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  1615. ;
  1616.     IF ¬ GENERATINGCFM THEN
  1617.         Macro
  1618.         _TransformFixedRect
  1619.             moveq    #36,d0
  1620.             dc.w     $ABC2
  1621.         EndM
  1622.     ELSE
  1623.         IMPORT_CFM_FUNCTION    TransformFixedRect
  1624.     ENDIF
  1625.  
  1626. ;
  1627. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  1628. ;
  1629.     IF ¬ GENERATINGCFM THEN
  1630.         Macro
  1631.         _TransformRect
  1632.             moveq    #37,d0
  1633.             dc.w     $ABC2
  1634.         EndM
  1635.     ELSE
  1636.         IMPORT_CFM_FUNCTION    TransformRect
  1637.     ENDIF
  1638.  
  1639. ;
  1640. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  1641. ;
  1642.     IF ¬ GENERATINGCFM THEN
  1643.         Macro
  1644.         _InverseMatrix
  1645.             moveq    #28,d0
  1646.             dc.w     $ABC2
  1647.         EndM
  1648.     ELSE
  1649.         IMPORT_CFM_FUNCTION    InverseMatrix
  1650.     ENDIF
  1651.  
  1652. ;
  1653. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  1654. ;
  1655.     IF ¬ GENERATINGCFM THEN
  1656.         Macro
  1657.         _ConcatMatrix
  1658.             moveq    #27,d0
  1659.             dc.w     $ABC2
  1660.         EndM
  1661.     ELSE
  1662.         IMPORT_CFM_FUNCTION    ConcatMatrix
  1663.     ENDIF
  1664.  
  1665. ;
  1666. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  1667. ;
  1668.     IF ¬ GENERATINGCFM THEN
  1669.         Macro
  1670.         _RectMatrix
  1671.             moveq    #30,d0
  1672.             dc.w     $ABC2
  1673.         EndM
  1674.     ELSE
  1675.         IMPORT_CFM_FUNCTION    RectMatrix
  1676.     ENDIF
  1677.  
  1678. ;
  1679. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  1680. ;
  1681.     IF ¬ GENERATINGCFM THEN
  1682.         Macro
  1683.         _MapMatrix
  1684.             moveq    #29,d0
  1685.             dc.w     $ABC2
  1686.         EndM
  1687.     ELSE
  1688.         IMPORT_CFM_FUNCTION    MapMatrix
  1689.     ENDIF
  1690.  
  1691.     ENDIF ; __IMAGECOMPRESSION__
  1692.